// pages/profile/profile.js
import {userBehavior} from "./behavior"
import {getStorage, setStorage} from "../../../../utils/storage"
import {reqUploadFile,reqUpdateUserInfo} from "../../../../api/user"
Page({
  // 注册behavior
  behaviors:[userBehavior],
  // 页面的初始数据
  data: {
    isShowPopup: false ,// 控制更新用户昵称的弹框显示与否
    nickname:''
  },
  //更新用户头像
  async chooseAvatar(event){
    // 获取临时路径，需要上传服务器，获取永久路径
    // 获取永久路径后，需要使用永久路径更新headimgurl
    const {avatarUrl} = event.detail
    const res = await reqUploadFile(avatarUrl,'file')
    // console.log('res',res)
    this.setData({
      'userInfo.headimgurl':res.data
    })

    // 方式一
    // 上传到永久路径
    // wx.uploadFile({
    //   url: 'https://gmall-prod.atguigu.cn/mall-api/fileUpload',//开发者服务器地址
    //   filePath: avatarUrl,// 要上传的文件资源路径
    //   name: 'file',// 文件对应的key
    //   header:{
    //     token:getStorage('token')
    //   },
    //   success:(res)=>{
    //     // console.log(res,'cs')
    //     // 调用 uploadFile 方法，返回的数据是 JSON 字符串，需要自己使用 JSON.parse 进行转换
    //     const uploadRes = JSON.parse(res.data)
    //     this.setData({'userInfo.headimgurl':uploadRes.data})
    //   }
    // })


  },
  // 更新用户信息
  async updateUserInfo(){
    const res= await reqUpdateUserInfo(this.data.userInfo)
    if(res.code === 200){
      // 将新的用户信息存储到本地
      setStorage('userInfo',this.data.userInfo)
      // 将新的用户信息存储到store
      this.setUserInfo(this.data.userInfo)
      wx.toast({title:'用户信息更新成功'})
    }
  },
  getNickName(event){
    // console.log(event,'form')
    this.setData({
      "userInfo.nickname":event.detail.value.nickname,
      isShowPopup: false
    })
  },
  // 显示修改昵称弹框
  onUpdateNickName() {
    this.setData({
      isShowPopup: true,
      "userInfo.nickname":this.data.userInfo.nickname
    })
  },

  // 弹框取消按钮
  cancelForm() {
    this.setData({
      isShowPopup: false
    })
  }
})
